package com.it.base.mapper;

import java.util.List;

/**
 * @program: learning
 * @description: mapper 基础类
 * @author: Lefnmg
 * @create: 2018-11-02 22:33
 **/
public interface BaseMapper<T>{
    /**
     * 列表
     * @param s
     * @param <S>
     * @return
     */
    <S extends T> List<T> findList(S s);
    /**
     * 详情
     * @param id
     * @return
     */
    T findById(Long id);

    /**
     * 新增
     * @param t
     * @return
     */
    int insert(T t);

    /**
     * 编辑
     * @param t
     * @return
     */
    int update(T t);

    /**
     * 根据id
     * @param id
     * @return
     */
    int delete(Long id);


    /**
     * 按条件查询
     * @param t
     * @param <T>
     * @return
     */
    <T> T findByCondition(T t);

    /**
     * 根据名称查询
     * @param name
     * @param <T>
     * @return
     */
    <T> T findByName(String name);
}
